<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<!-- **************************************** -->
<!-- *                                      * -->
<!-- *  PLEASE KEEP COMPLICATED EXPRESSIONS * -->
<!-- *  OUT OF THESE TEMPLATES.             * -->
<!-- *  i.e. only iterate & print data      * -->
<!-- *  Thanks                              * -->
<!-- *  Jez.                                * -->
<!-- *                                      * -->
<!-- **************************************** -->
<HTML>
<HEAD>
<!-- Generated by groovydoc (Jeremy Rayner 2007) -->
<TITLE>
SearchableGrailsDomainClassCompassMappingUtils
</TITLE>

<META NAME="keywords" CONTENT="getTimezoneOffset()">

<!-- todo stylesheet relative path -->
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="SearchableGrailsDomainClassCompassMappingUtils";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">

<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>

  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <!--<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>

  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>-->
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><!--<FONT SIZE="-2">
&nbsp;<A HREF="../../../../../../../../../../groovy/lang/ExpandoMetaClass.ExpandoMetaProperty.html" title="class in groovy.lang"><B>PREV CLASS</B></A>&nbsp;

&nbsp;<A HREF="../../../../../../../../../../groovy/lang/GroovyClassLoader.html" title="class in groovy.lang"><B>NEXT CLASS</B></A></FONT>--></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../../../../../../index.html?src/java/org/codehaus/groovy/grails/plugins/searchable/compass/mapping/SearchableGrailsDomainClassCompassMappingUtils.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="SearchableGrailsDomainClassCompassMappingUtils.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;


</FONT></TD>

</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>

</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->


<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
src.java.org.codehaus.groovy.grails.plugins.searchable.compass.mapping</FONT>
<BR>
<FONT CLASS="ClassTitleFont">Class SearchableGrailsDomainClassCompassMappingUtils</FONT></H2>
<P>
 <DL><DT><B>author:</B></DT><DD>Maurice Nicholson</DD></DL>
 
</P>

<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">

<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>

</TR>
  
    <TR BGCOLOR="white" CLASS="TableRowColor">
    <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    <CODE><!--todo visibility e.g. protected--> &nbsp;Log</CODE></FONT></TD>
    <TD><CODE><B><A HREF="#LOG">LOG</A></B></CODE>

    <BR>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    </TR>
  

</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">

<TR BGCOLOR="#D5D5FF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>



<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><a href="">SearchableGrailsDomainClassCompassMappingUtils</a></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>

</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#D5D5FF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2" CLASS="ClassHeadingFont">
<B>Method Summary</B></FONT></TH>
</TR>



  <TR BGCOLOR="white" CLASS="TableRowColor">
    <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1" CLASS="ClassItemFont">
    <CODE>static&nbsp;<a href="../../../../../../../../../../src/java/org/codehaus/groovy/grails/plugins/searchable/compass/mapping/CompassClassMapping.html">CompassClassMapping</a></CODE></FONT></TD>
    <TD><FONT CLASS="ClassItemFont"><CODE><B><a href="#buildCompassClassMapping(GrailsDomainClass, Collection, List)">buildCompassClassMapping</a></B>(GrailsDomainClass grailsDomainClass, Collection searchableGrailsDomainClasses, List propertyMappings)</CODE></FONT>

    <BR>
    <FONT CLASS="ClassItemFont">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Builds a CompassClassMapping for the GrailsDomainClass and property mappings
 
 
 
 </FONT>
    </TD>
  </TR>



  <TR BGCOLOR="white" CLASS="TableRowColor">
    <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1" CLASS="ClassItemFont">
    <CODE>static&nbsp;def</CODE></FONT></TD>
    <TD><FONT CLASS="ClassItemFont"><CODE><B><a href="#getMappableProperties(GrailsDomainClass, Object, Collection, List, src.java.org.codehaus.groovy.grails.plugins.searchable.compass.mapping.SearchableGrailsDomainClassPropertyMappingFactory)">getMappableProperties</a></B>(GrailsDomainClass grailsDomainClass, Object searchableValue, Collection searchableGrailsDomainClasses, List excludedProperties, <a href="../../../../../../../../../../src/java/org/codehaus/groovy/grails/plugins/searchable/compass/mapping/SearchableGrailsDomainClassPropertyMappingFactory.html">SearchableGrailsDomainClassPropertyMappingFactory</a> domainClassPropertyMappingFactory)</CODE></FONT>

    <BR>
    <FONT CLASS="ClassItemFont">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Get the mappable domain class properties
 
 
 
 
 
 </FONT>
    </TD>
  </TR>



  <TR BGCOLOR="white" CLASS="TableRowColor">
    <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1" CLASS="ClassItemFont">
    <CODE>static&nbsp;def</CODE></FONT></TD>
    <TD><FONT CLASS="ClassItemFont"><CODE><B><a href="#getPolyMappingAliases(Compass, Class, GrailsApplication)">getPolyMappingAliases</a></B>(Compass compass, Class clazz, GrailsApplication application)</CODE></FONT>

    <BR>
    <FONT CLASS="ClassItemFont">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Get the mapping aliases for the given user-defined domain class and its subclasses if any
 
 
 
 
     </FONT>
    </TD>
  </TR>



  <TR BGCOLOR="white" CLASS="TableRowColor">
    <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1" CLASS="ClassItemFont">
    <CODE>static&nbsp;boolean</CODE></FONT></TD>
    <TD><FONT CLASS="ClassItemFont"><CODE><B><a href="#isRoot(GrailsDomainClass, Collection)">isRoot</a></B>(GrailsDomainClass grailsDomainClass, Collection searchableGrailsDomainClasses)</CODE></FONT>

    <BR>
    <FONT CLASS="ClassItemFont">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Is the given GrailsDomainClass a root class in the Compass mapping?
 </FONT>
    </TD>
  </TR>



  <TR BGCOLOR="white" CLASS="TableRowColor">
    <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1" CLASS="ClassItemFont">
    <CODE>static&nbsp;void</CODE></FONT></TD>
    <TD><FONT CLASS="ClassItemFont"><CODE><B><a href="#mergePropertyMappings(List, List)">mergePropertyMappings</a></B>(List mappedProperties, List parentClassPropertyMappings)</CODE></FONT>

    <BR>
    <FONT CLASS="ClassItemFont">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Merges the given property mappings, overriding parent mappings with child mappings
 
 
     </FONT>
    </TD>
  </TR>







</TABLE>
&nbsp;
<P>
<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>

<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>


<A NAME="QName(java.lang.String)"><!-- --></A><H3>
SearchableGrailsDomainClassCompassMappingUtils</H3>
<PRE><B>SearchableGrailsDomainClassCompassMappingUtils</B>()</PRE>
<DL>
<DD>
<P>
<!--<DL>
<DT> todo <B>Parameters:</B><DD><CODE>localPart</CODE> - Local part of the QName</DL>-->

</DL>
<HR>


<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="buildCompassClassMapping(GrailsDomainClass, Collection, List)"><!-- --></A><H3>
buildCompassClassMapping</H3>
<PRE>public static <a href="../../../../../../../../../../src/java/org/codehaus/groovy/grails/plugins/searchable/compass/mapping/CompassClassMapping.html">CompassClassMapping</a> <B>buildCompassClassMapping</B>(GrailsDomainClass grailsDomainClass, Collection searchableGrailsDomainClasses, List propertyMappings)</PRE>

<DL>
<DD> Builds a CompassClassMapping for the GrailsDomainClass and property mappings
 <DL><DT><B>param:</B></DT><DD>grailsDomainClass</DD></DL>
 <DL><DT><B>param:</B></DT><DD>searchableGrailsDomainClasses</DD></DL>
 <DL><DT><B>param:</B></DT><DD>propertyMappings</DD></DL>
 <DL><DT><B>return:</B></DT><DD></DD></DL>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B><!--todo Returns:--></B><DD><!-- todo --></DL>
</DD>
</DL>
<HR>

<A NAME="getMappableProperties(GrailsDomainClass, Object, Collection, List, src.java.org.codehaus.groovy.grails.plugins.searchable.compass.mapping.SearchableGrailsDomainClassPropertyMappingFactory)"><!-- --></A><H3>
getMappableProperties</H3>
<PRE>public static def <B>getMappableProperties</B>(GrailsDomainClass grailsDomainClass, Object searchableValue, Collection searchableGrailsDomainClasses, List excludedProperties, <a href="../../../../../../../../../../src/java/org/codehaus/groovy/grails/plugins/searchable/compass/mapping/SearchableGrailsDomainClassPropertyMappingFactory.html">SearchableGrailsDomainClassPropertyMappingFactory</a> domainClassPropertyMappingFactory)</PRE>

<DL>
<DD> Get the mappable domain class properties
 <DL><DT><B>param:</B></DT><DD>grailsDomainClass</DD></DL>
 <DL><DT><B>param:</B></DT><DD>searchableValue</DD></DL>
 <DL><DT><B>param:</B></DT><DD>searchableGrailsDomainClasses</DD></DL>
 <DL><DT><B>param:</B></DT><DD>excludedProperties</DD></DL>
 <DL><DT><B>param:</B></DT><DD>domainClassPropertyMappingFactory</DD></DL>
 <DL><DT><B>return:</B></DT><DD></DD></DL>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B><!--todo Returns:--></B><DD><!-- todo --></DL>
</DD>
</DL>
<HR>

<A NAME="getPolyMappingAliases(Compass, Class, GrailsApplication)"><!-- --></A><H3>
getPolyMappingAliases</H3>
<PRE>public static def <B>getPolyMappingAliases</B>(Compass compass, Class clazz, GrailsApplication application)</PRE>

<DL>
<DD> Get the mapping aliases for the given user-defined domain class and its subclasses if any
 <DL><DT><B>param:</B></DT><DD>compass Compass instance</DD></DL>
 <DL><DT><B>param:</B></DT><DD>clazz the user-defined domain class</DD></DL>
 <DL><DT><B>param:</B></DT><DD>application the GrailsApplication</DD></DL>
 <DL><DT><B>return:</B></DT><DD>the Compass aliases for the hierarchy</DD></DL>
     
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B><!--todo Returns:--></B><DD><!-- todo --></DL>
</DD>
</DL>
<HR>

<A NAME="isRoot(GrailsDomainClass, Collection)"><!-- --></A><H3>
isRoot</H3>
<PRE>public static boolean <B>isRoot</B>(GrailsDomainClass grailsDomainClass, Collection searchableGrailsDomainClasses)</PRE>

<DL>
<DD> Is the given GrailsDomainClass a root class in the Compass mapping?
 <DL><DT><B>param:</B></DT><DD>grailsDomainClass the domain class to check for</DD></DL>
 <DL><DT><B>param:</B></DT><DD>searchableGrailsDomainClasses a collection of searchable GrailsDomainClass instances</DD></DL>
 <DL><DT><B>return:</B></DT><DD>true unless it's an embedded class in another domain class without explicit searchable declaration</DD></DL>
     
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B><!--todo Returns:--></B><DD><!-- todo --></DL>
</DD>
</DL>
<HR>

<A NAME="mergePropertyMappings(List, List)"><!-- --></A><H3>
mergePropertyMappings</H3>
<PRE>public static void <B>mergePropertyMappings</B>(List mappedProperties, List parentClassPropertyMappings)</PRE>

<DL>
<DD> Merges the given property mappings, overriding parent mappings with child mappings
 <DL><DT><B>param:</B></DT><DD>mappedProperties</DD></DL>
 <DL><DT><B>param:</B></DT><DD>parentClassPropertyMappings</DD></DL>
     
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B><!--todo Returns:--></B><DD><!-- todo --></DL>
</DD>
</DL>
<HR>

	
<!-- ========= END OF CLASS DATA ========= -->
<HR>


</BODY>
</HTML>
